package com.molihub.service;

import com.molihub.entity.User;
import com.molihub.entity.UserFollow;

import java.util.List;

/**
 * @ClassName: UserFollowService
 * @Description: 处理好友，关注人，相关的业务接口层
 * @author: GGBOY
 * @date 2020/1/31 14:13
 * @Version: 1.0
 **/
public interface UserFollowService {

    /**
     * 添加一条好友记录
     *
     * @param userFollow 添加的关系记录
     * @author GGBOY
     * @date 2020/1/31
     */
    public Integer addRecord(UserFollow userFollow);

    /**
     * 根据用户双方的id来查找是否存在关系
     *
     * @param userId 用户id
     * @param followUserId 用户id
     * @return com.molihub.entity.UserFollow
     * @author GGBOY
     * @date 2020/2/2
     */
    public UserFollow findRecordById(Integer userId, Integer followUserId);

    /**
     * 根据用户ID查找对应的好友集合
     *
     * @param userId 用户id
     * @return java.util.List<com.molihub.entity.UserFollow>
     * @author GGBOY
     * @date 2020/2/3
     */
    public List<User> findAllFriendById(Integer userId);

    /**
     * 获得用户的好友数量
     *
     * @param userId 用户ID
     * @return java.lang.Integer
     * @author GGBOY
     * @date 2020/2/8
     */
    public Integer getFriendsCount(Integer userId);

    /**
     * 根据用户ID查找用户对应的所有记录
     *
     * @param userId 用户ID
     * @return java.util.List<com.molihub.entity.UserFollow>
     * @author GGBOY
     * @date 2020/2/8
     */
    public List<UserFollow> findAllRecordById(Integer userId);
}
